Behavior Preservation in Model Refactoring Using DPO Transformations with Borrowed Contexts
نویسندگان
چکیده
Behavior preservation, namely the fact that the behavior of a model is not altered by the transformations, is a crucial property in refactoring. The most common approaches to behavior preservation rely basically on checking given models and their refactored versions. In this paper we introduce a more general technique for checking behavior preservation of refactorings defined by graph transformation rules. We use double pushout (DPO) rewriting with borrowed contexts, and, exploiting the fact that observational equivalence is a congruence, we show how to check refactoring rules for behavior preservation. When rules are behavior-preserving, their application will never change behavior, i.e., every model and its refactored version will have the same behavior. However, often there are refactoring rules describing intermediate steps of the transformation, which are not behavior-preserving, although the full refactoring does preserve the behavior. For these cases we present a procedure to combine refactoring rules to behavior-preserving concurrent productions in order to ensure behavior preservation. An example of refactoring for finite automata is given to illustrate the theory.
منابع مشابه
Composition and Decomposition of DPO Transformations with Borrowed Context
Double-pushout (DPO) transformations with borrowed context extend the standard DPO approach by allowing part of the graph needed in a transformation to be borrowed from the environment. The bisimilarity based on the observation of borrowed contexts is a congruence, thus facilitating system analysis. In this paper, focusing on the situation in which the states of a global system are built out of...
متن کاملBehavioral congruences and verification of graph transformation systems with applications to model refactoring
The concept of borrowed contexts has opened up graph transformations to the notion of an external “observer” where graphs (specifying systems) may interact with an environment in order to evolve. This leads to open systems in which a clear line delimits internal (non-observable) and external (observable) behavior. The observable interactions of a graph build up labeled transition systems such t...
متن کاملParallel and Sequential Independence for Borrowed Contexts
Parallel and sequential independence are central concepts in the concurrency theory of the double pushout (dpo) approach to graph rewriting. However, so far those same notions were missing for dpo rewriting extended with borrowed contexts (dpobc), a formalism used for equipping dpo derivations with labels and introduced for modeling open systems that interact with the environment. In this work ...
متن کاملAdhesive DPO Parallelism for Monic Matches
This paper presents indispensable technical results of a general theory that will allow to systematically derive from a given reduction system a behavioral congruence that respects concurrency. The theory is developed in the setting of adhesive categories and is based on the work by Ehrig and König on borrowed contexts; the latter are an instance of relative pushouts, which have been proposed b...
متن کاملVerification of Behavior Preservation in Uml Sequence Diagrams Using Graph Models
-.The verification of model transformations is gaining significant attention recent years. This paper presents an approach for verifying the behavioral preservance property of UML behavioral models that have been subjected to a model refactoring process. Graph based models have been proposed for model verification to analyze the behavior preservation property of the models that have been refact...
متن کامل